子文件夹中的.htaccess无法正常工作

use*_*183 2 php apache .htaccess mod-rewrite

我有一个网址喜欢

http://localhost/coupon/stores.php?store_slug=url
Run Code Online (Sandbox Code Playgroud)

我想这样改变它

http://localhost/coupon/url
Run Code Online (Sandbox Code Playgroud)

我试过这个代码

RewriteEngine on
RewriteBase /coupon/
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteRule (.*) stores.php?store_slug=$1
Run Code Online (Sandbox Code Playgroud)

但它没有使用上面提到的.htaccess代码得到500内部服务器错误.我在子文件夹中使用此.htaccess文件即优惠券

任何人都可以查看我做错了什么?

Pri*_*rix 7

尝试一下:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /coupon/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) stores.php?store_slug=$1 [L]
Run Code Online (Sandbox Code Playgroud)

!和之间不应该有空格-f/d.

请记住,上述规则只是为了http://localhost/coupon/url工作,因为它会在内部将任何请求从coupon文件夹重定向到stores.php文件.


另外需要注意的是,对于CSS,JS,Images,您需要使用绝对路径,因为使用相对路径会假设CSS,JS和Images位于优惠券文件夹中.

因此,如果你有这样的话,css/my.css它会认为它在里面,coupon/css/my.css所以你需要使用它http://yourdomain.com/css/my.css来避免这种情况.

如果你/在URL之后放置它会认为是文件夹所以它会像这样coupon/flipkart/css/my.css.