Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex .htaccess类似于URL重写的文件夹_Regex_.htaccess_Mod Rewrite - Fatal编程技术网

Regex .htaccess类似于URL重写的文件夹

Regex .htaccess类似于URL重写的文件夹,regex,.htaccess,mod-rewrite,Regex,.htaccess,Mod Rewrite,我正试图将我的一个URL重写为漂亮的URL,但我似乎无法理解。这是我到目前为止试过的 我的文件夹布局 -index.php -.htaccess -/product -category.php -index.php -product.php 我的htaccess文件 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^([^/]+)/?$ category.php?category_id=$1 [

我正试图将我的一个URL重写为漂亮的URL,但我似乎无法理解。这是我到目前为止试过的

我的文件夹布局

-index.php
-.htaccess
-/product
    -category.php
    -index.php
    -product.php
我的htaccess文件

<IfModule mod_rewrite.c>  
RewriteEngine On
RewriteRule ^([^/]+)/?$ category.php?category_id=$1 [L,QSA]
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php?page=$1 [NC,L,QSA]
输入此url

http://example.com/product/1/car-and-buses

到目前为止,我所尝试的一切都会导致配置错误或401。。在我的浏览器上

我想你是想

http://example.com/product/1/car-and-buses
这样您就可以使用$\u GET['category\u id']获取category.php中的参数

http://example.com/product/category.php?category_id=1&category=car-and-buses
尝试此操作并将.htaccess文件放在根目录中

<IfModule mod_rewrite.c>
  RewriteEngine On      
  RewriteRule ^product/(.*)/(.*) /product/category.php?category_id=$1&category=$2 [QSA,L]
</IfModule>

你能直接进入这个页面吗?在“重写URL”中的“产品”之前添加斜杠,然后使用我编辑的答案。如果它仍然不起作用,请尝试将R添加到您的标志[R,QSA,L]和se(您将在何处结束)。我正在本地主机上使用它。我应该在服务器上尝试吗?是的,您可以尝试,但当您将R添加到标志时,您使用了哪个URL?您的.htaccess是否在根目录中?您的服务器上是否启用了mod_rewrite?是的,mod_rewrite现在已启用。但仍然不起作用。您还有什么建议吗?这是您的.htaccess目录中的
产品
吗?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php?page=$1 [NC,L,QSA]