对于htacessURL重写器在我的主机上不起作用感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍url重写技术,并为您提供关于.htaccess–URLRewrite在Nginx中不起作用、.
对于htacess URL 重写器在我的主机上不起作用感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍url重写技术,并为您提供关于.htaccess – URL Rewrite在Nginx中不起作用、.htaccess 我写的重定向怎么不起作用、.htaccess不起作用啦!该如何解决、.htaccess文件没有被读取(“.htaccess文件中的选项 – 索引”不起作用)的有用信息。
本文目录一览:- htacess URL 重写器在我的主机上不起作用(url重写技术)
- .htaccess – URL Rewrite在Nginx中不起作用
- .htaccess 我写的重定向怎么不起作用
- .htaccess不起作用啦!该如何解决
- .htaccess文件没有被读取(“.htaccess文件中的选项 – 索引”不起作用)
htacess URL 重写器在我的主机上不起作用(url重写技术)
您能否尝试使用所示示例进行以下操作、编写和测试。请确保在测试您的网址之前清除浏览器缓存。
RewriteEngine ON
RewriteRule ^(All\.dll)/?$ dlldata.php?$1 [L]
RewriteRule ^(character)/(B)/?$ ?$1=$2 [L]
第一条规则重写从 All.dll 到 dlldata.php?$1 的 url,其中 $1 是第一个返回引用值。第二条规则适用于从字符/B 开始的 uri,然后将它们重写为 ?$1=$2。
.htaccess – URL Rewrite在Nginx中不起作用
URL重写在Nginx中不起作用,操作系统是Ubuntu 12.4 Lts
当打开http://mvc.loc它正在工作
但是当我试图打开http://mvc.loc/login不工作时
404未找到
Nginx的/ 1.1.19
.htaccess
<IfModule !mod_rewrite.c>
ErrorDocument 500 "mod_rewrite must be enabled"
</IfModule>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$/index.PHP?u=$1
mvc.loc的虚拟主机
server {
listen 80;
server_name mvc.loc;
access_log /var/log/Nginx/mvc.loc.access.log;
error_log /var/log/Nginx/mvc.loc.error.log;
root /usr/share/Nginx/www/mvc;
index index.PHP;
# use fastcgi for all PHP files
# Are you sure you have this set up?
location ~ \.PHP${
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.PHP;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to apache .htaccess files
location ~ /\.ht {
deny all;
}
}
解决方法:
location / {
rewrite ^(.*)$/index.PHP?u=$1 last;
}
.htaccess 我写的重定向怎么不起作用
.htaccess
RewriteRule ^products/list/([0-9]+) products/list.php?category_id=$1&%{QUERY_STRING} [L]原先的有这个重定向,注释掉后 ***/products/list/10 这样的链接就不能访问了,打开后就好使
然后我再他下面写了个新的
RewriteRule ^products/list/category_id/(0-9]+)/parent_category/(0-9]+) products/list.php?category_id=$1&parent_category=$2 [L]
就是把 products/list?category_id=37&parent_category=35 成 products/list/category_id/37/parent_category/35
为什么我的新写的没作用??应该怎么写?
回复讨论(解决方案)
正规写法就行了
数字那两个地方写错了吧,(0-9]+) 应该是 ([0-9]+)
谢谢#2 这个简单地好使了,products/list/category_id/37/parent_category/35 这样的eurl好使了
现在问题是
提交表单后,url里还是? & = 的形式。 products/list?category_id=37&parent_category=35(get提交表单)
怎么把url的形式给改掉,改成 products/list/category_id/37/parent_category/35 ??
这个就只能在php里面把所有链接地址改回来了
.htaccess不起作用啦!该如何解决
.htaccess不起作用啦!
本帖最后由 weihua99 于 2012-03-29 02:37:04 编辑
.htaccess内容如下:
RewriteEngine On
RewriteBase /
RewriteRule ^cms/5gameweb/statics/
RewriteRule ^cms/5gameweb/statics/css/5g/js/(.*\.js) /combine.php?type=javascript&files=$1
Windows7环境,安装phpStudy集成环境。
httpd.conf已经修改了如下内容:
LoadModule rewrite_module modules/mod_rewrite.so
Options All
AllowOverride All
AccessFileName .htaccess
无法生效,.htaccess编码用EditPlus也改为ANSI了。.htaccess跟combine.php文件都放在根目录。不知道还会有什么原因。。。
------解决方案--------------------
重新建一个试试
------解决方案--------------------
重建一个.htaccess文件吗?这没啥区别吧,我实在找不出还有哪里会出问题额。
------解决方案--------------------
顶上去,来者有分啊。
------解决方案--------------------
.htaccess不是应该UTF-8吗?
------解决方案--------------------
额,改UTF-8也不行
------解决方案--------------------
该回复于2012-03-30 09:14:08被版主删除
.htaccess文件没有被读取(“.htaccess文件中的选项 – 索引”不起作用)
我只用下面一行创build了一个.htaccess文件:
选项 – 索引
但是,索引仍显示在目录中。
我刚刚安装了Apache2,并使用所有的默认值(我没有修改apache2.conf或httpd.conf)。
Apache .htaccess <目录不允许在这里
htaccess文件以某种方式被caching?
为什么在使用http gzip压缩之后,png大小不会改变
使用htaccess修复拼写错误的url
htaccess重写URL的PHP参数
操作系统: Ubuntu 12.04 (Precise Pangolin)
Apache2版本: Server version: Apache/2.2.22 (Ubuntu) Server built: Feb 13 2012 01:51:56
$ ls -l .htaccess
-rwxr-xr-x .htaccess
编辑:
我接受了lanzz的build议,并在.htaccess文件中添加了乱码,并发现.htaccess文件没有被读取。
将所有stream量redirect到保持页面,除非使用.htaccesslogin
如果通过htaccess查询string参数不存在,则将HTTPSredirect到HTTP
RewriteCond和重写规则取决于域的redirect
使用mod_headers和PHP-fpm / mod_fastcgi的问题
htaccess干净的URL不被读取的Apache?
您应该检查Apache配置是否允许执行.htaccess。 在你的虚拟主机配置中,应该有一行:
AllowOverride All
如果没有,这就是为什么.htaccess没有生效。
为了达到这个目的,我在/etc/apache2/httpd.conf (默认安装了Apache的时候是一个零长度文件),然后重新启动了Apache。 现在, Options -Indexes .htaccess文件中的.htaccess工作正常。 这是最低限度的工作要求:
/etc/apache2/httpd.conf :
<VirtualHost *:80> DocumentRoot /var/www <Directory / > </Directory> </VirtualHost>
lanzz建议在.htaccess文件中添加一段乱码,看看是否正在读取,这有助于诊断问题。
请注意,根据Evan Mulawski的评论, AllowOveride默认为All ,所以在上面最小的一组httpd.conf行中不需要。
我有同样的问题。 我正在使用一个虚拟主机,所以我修改了httpd-vhosts.conf,所以如果你正在使用一个这可能会有所帮助
在你配置你的主机引用的地方,目录标签和你的文档根目录一样
<VirtualHost *:8080> serverName somelocalserver DocumentRoot "C:/Websites/htdocs/yoursite" <Directory "C:/Websites/htdocs/yoursite"> Options FollowSymLinks AllowOverride All </Directory>
我需要AllowOverride All来识别.htaccess文件。
编辑
我还需要在路径标记本身中添加站点根目录的路径。 即<Directory "C:/Websites/htdocs/yoursite"> 。 这是我使用的样本中的默认值。
由于不再有httpd.conf文件,你需要在VPS上做什么:
转到/etc/apache2/sites-enabled/
做ls为您正在寻找的网站找到文件
使用nano THE_CONF_FILE编辑相应的文件,或者使用任何你想要的编辑器
将所有在<Directory> ... </Directory>看到的AllowOverride None值更改为AllowOverride All
保存该文件并关闭它
现在,您需要通过运行以下命令启用模块重写: sudo a2enmod rewrite
最后要激活新的配置,你需要运行: service apache2 restart
它现在就像一个魅力工作!
如果你有
AllowOverride None
将其更改为:
AllowOverride All
在你的httpd.conf文件里或者在/etc/apache2/sites-available/…conf里默认的虚拟主机文件中
我通过编辑文件/etc/http/conf/httpd.conf在RHEL上解决了这个问题
AllowOverride None
至
AllowOverride All
您也可以在RHEL上通过以下命令检查httpd.conf AllowOverride
grep -i AllowOverride /etc/conf/conf/httpd.conf
此外,除了将AllowOverride All更改为vhost配置文件之外,还可能需要在.htaccess文件的开头添加以下内容:
RewriteEngine On RewriteBase /
否则可能仍然没有检测到重写或重定向。
关于htacess URL 重写器在我的主机上不起作用和url重写技术的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.htaccess – URL Rewrite在Nginx中不起作用、.htaccess 我写的重定向怎么不起作用、.htaccess不起作用啦!该如何解决、.htaccess文件没有被读取(“.htaccess文件中的选项 – 索引”不起作用)等相关内容,可以在本站寻找。
本文标签: