我的httpd.conf如下所示: NameVirtualHost 12.34.56.78:80 <VirtualHost 12.34.56.78:80> DocumentRoot /var/www/html/site ServerName www.example.com <IfModule mod_rewrite.c> RewriteEngine On … </IfModule> </VirtualHost> <VirtualHost 12.34.56.78:80> ServerName blog.example.com DocumentRoot /var/www/html/blog </VirtualHost> Listen *:2194 <VirtualHost *:2194> Redirect / http://mgr.example.com/ </VirtualHost> 我想能够启用“类别”作为子域名,即如果用户访问: science.example.com 它应该向他显示URL本身,但向他展示www.example.com/science.php的内容 它不一定是一个通用的/通配符的方法 – 这些类别将是一个我可以单独指定的小数字。 我只是不想要添加任何干扰网站的现有function。 我怎样才能做到这一点?
我的问题: 当我访问本地主机的网站不起作用。 它显示从网站的一些文本,但似乎服务器无法find任何其他文件。 这里是萤火虫的错误摘录: "NetworkError: 404 Not Found – localhost/css/popup.css" "NetworkError: 404 Not Found – localhost/css/style.css" "NetworkError: 404 Not Found – localhost/css/player.css" "NetworkError: 404 Not Found – localhost/css/ui-lightness/jquery-ui-1.8.11.custom.css" "NetworkError: 404 Not Found – localhost/js/jquery.js" 看来我的服务器正在寻找错误的地方的文件。 例如,localhost / css / popup.css实际上位于localhost / app / webroot / css / popup.css中。 我有我的网站安装在远程服务器上具有相同的确切configuration,它工作得很好。 我只是有这个问题试图运行我的笔记本电脑在本地的网站。 我编辑我的VirtualHosts文件DocumentRoot和/home/user/public_html/site.com/public/app/webroot/,这减less了一些错误,但我觉得这是错误的,有点黑客,因为我没有使用这些设置在我的生产服务器上工作。 我想要做的最后一个笔记是,该网站使用dynamicurl。 我不知道这与它有什么关系。 例如,在生产服务器上的URL是:site.com/#hello/12321。 我在做什么: […]
我正在尝试创build一个dynamic的子域,我有很大的困难,我不断收到500内部服务器错误 所以例如,实际的领域应该是 http://www.parameterToBePassed.domain.com/ 应该指向/redirect http://www.domain.com/shopping/gatename/parameterToBePassed 但是当我访问这个URL时,我得到一个内部服务器错误(500),有什么想法? vhost.conf成立 ServerAlias www.domain.com domain.com *.domain.com <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} !www.domain.com$ [NC] RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC] RewriteRule (.*) http://www.domain.com/shopping/gatename/$1 [L] </IfModule> 我正在使用Redhat Linux,使用Plesk
这个问题使我疯狂。 我已经试过阅读大量有关如何使用mod_rewrite的教程,但是我无法理解它。 这些问题一定会被问到,所以看起来像一个愚蠢的道歉。 我的问题是这个。 我需要将几个请求URL重新映射到我的WordPress的安装。 WordPress的也使用mod_rewrite …链接工作正常吗? 我需要做的重写是: example.com – > example.com/site example.com/blog – > exaple.com/site/categories/blogposts example.com/site/blog – > exaple.com/sites/categories/blogposts 理想情况下,我想重新映射url,而不是执行redirect,但如果没有其他解决scheme,可以忍受它。
我的.htaccess文件适用于任何需要1特定文件夹的罚款。 结果, http://www.mydomain.com/administration/index.php //www.mydomain.com/administration/index.php意外地进入401错误页面,而不是从pipe理文件夹加载index.php 。 所以,对于pipe理文件夹,我希望: 1)总是用httpsreplacepipe理文件夹(对于其他文件夹,.htaccess的最后一部分工作正常)。 2)不要redirect的URL,如果他们去pipe理文件夹。 3)1)和2)之后的所有规则对pipe理文件夹无效。 我试图添加2)和3).htaccess。 所以,现在我的.htaccess文件如下所示: #adds www – always, for any url, for any folder RewriteCond %{HTTP_HOST} !^www.mydomain.com$ RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] #special rules for administration folder only – set https if not https RewriteCond %{REQUEST_URI} ^/administration RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L=301] #all requests to administration folder […]
我听说你可以使用mod_rewrite清理你的URL,基本上我想这样做.php文件扩展名不显示在URL中。 例如,假设我在网站上有以下文件结构: /index.php /about.php /contact.php /css/main.css /img/animage.jpg /admin/index.php /admin/login.php /admin/admin.php 我想用mod_rewrite进行如下的基本修改: 当一个请求被发送到根目录即/about ,如果find一个目录叫做about ,那么它应该performance为一个名义上的目录(即从目录加载index.php)。 如果没有find目录,它应该指向about.php 如果请求一个.php文件,它应该301redirect到不带.php扩展名的.php名。 只有那些直接在浏览器中直接查看的目录应该有这些URL改变(即根目录和admin目录),因此css和img应该保持它们的URL不变。 我怎样才能使用mod_rewrite进行这些更改?
我的Apacheconfiguration有以下语句: DocumentRoot /home/x/public/ <Location /> Order Allow,Deny Allow from all Options -ExecCGI -Indexes </Location> 在/ home / x / public /目录下有一个目录/ RewriteRule ^(/media/.+) $1 [L] 媒体文件应该保持不变并由Apache提供 – 其他请求被redirect到Ruby on Rails代理服务器。 每当我尝试通过浏览器访问/ media下的文件时,Apache会尝试提供/ media / file(在文件系统根目录上)而不是/ home / x / public / media / file 如果我将/ media重命名为/ medias,文件/ home / x / public / media /文件将被正确地提供。 […]
所以我正在一个杂志网站上工作,我想要URL /latest重写到文件latest.php 。 我正在cPanel托pipe服务器上工作,所以我把.htaccess放在/public_html目录中(重要的是第8行): RewriteEngine On RewriteRule ^archives/search/?$ /archives/search.php [L] RewriteRule ^archives/([\d]{4})-([\d]{1})/?$ /archives/download.php?year=$1&issue=$2 RewriteRule ^archives/([\d]{4})/?$ /archives/download.php?year=$1 RewriteRule ^archives – [L] RewriteRule ^admin – [L] RewriteRule ^search – [L] RewriteRule ^latest /latest.php [L] RewriteRule ^contact/?$ /contact.php [L] RewriteRule ^([az]+)/?$ /page.php?p=$1 [L] ErrorDocument 404 /notfound.php ErrorDocument 500 /dberror.php 但是,导航到/latest ,我得到一个500 interal server error 。 我原本以为这是在.php文件中的一些问题,但是当我完全清空文件latest.php并且错误持续时,排除了这个问题。 有趣的是,当我改变/latest的任何其他和导航到,它的作品。 我不知道为什么。 […]
我在redirect时遇到问题: https://example.com到https://www.example.com 。 我目前得到了这个,它没有达到我需要的结果,我不知道为什么: RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 我基本上想要redirect到https://www.example.com 我感谢任何帮助。
我想知道是否有可能通过htaccess重写我的URL http://mysite.com:5553到https://mysite.com:5553 。 我的Apache服务器在端口5553上只有一个虚拟主机,SSL上。