我想重写基于我拥有的目录的URL 我的目录看起来像这样:
index.php
galleries
-Party Weekend
-2014
-Bunchofimages.png
-Other pics
-Pictures.png
网址看起来像:
example.com/?f=/Party%20Weekend/2014
我正在寻找像
这样的东西example.com/Party-Weekend/2014
(可以是短划线或+符号,并不重要)
(使用.htaccess
似乎是最好的选择,但我根本没有使用.htaccess
的经验
我是否还需要自定义重写引擎中的每个文件夹,还是可以动态完成? (所以我不需要为我创建的每个文件夹制定新规则)
我试过这个,但根本没有改写任何东西
RewriteEngine On
RewriteRule ^([^/]*)/$ /?f=$1 [L]
我在这里做错了吗?
答案 0 :(得分:1)
尝试类似:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+\?f=([^\ &]+)
RewriteRule ^ /%1? [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/galleries%{REQUEST_URI} -d
RewriteRule ^(.*)$ /?f=$1 [L]
可能是与文件夹名称中的空格相关的一些编码问题,因此您可能需要在括号旁边的NE
或B
标记的某种组合
答案 1 :(得分:-2)
使用.htacces是最好也是唯一的方法 您不必动态自定义所有文件夹 请转到此页面了解更多详情 初学者的URL重写: http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/