版本REST URI的最佳方法是什么?目前我们在URI本身有一个版本#,即.
http://example.com/users/v4/1234/
Run Code Online (Sandbox Code Playgroud)
对于此表示的第4版.
该版本是否属于queryString?即.
http://example.com/users/1234?version=4
Run Code Online (Sandbox Code Playgroud)
或者版本控制最好的另一种方式?
如何在Yii2中启用干净的URL.我想删除index.php和'?' 来自url参数.需要在Yii2中编辑哪个部分?
来自PHP背景我喜欢使用干净的URL从一个服务获取数据到另一个服务.
但是,在我的一些ASP.NET项目中,我在URL中获得了可怕的ViewState参数.
有没有办法在全球范围内解决这个问题?
这会对我的ASP.NET应用程序产生什么影响?
我使用这些代码行来删除所有标点符号,符号等,你可以在数组中看到它们,
$pattern_page = array("+",",",".","-","'","\"","&","!","?",":",";","#","~","=","/","$","£","^","(",")","_","<",">");
$pg_url = str_replace($pattern_page, ' ', strtolower($pg_url));
Run Code Online (Sandbox Code Playgroud)
但是我想让它变得更简单,因为在列表中列出我要删除的所有东西看起来很傻,因为我可能会删除一些其他特殊字符.
我想过使用下面的正则表达式,
$pg_url = preg_replace("/\W+/", " ", $pg_url);
Run Code Online (Sandbox Code Playgroud)
但它没有删除得分不足 - _
删除所有这些东西的最佳方法是什么?正则表达能做到吗?
我听说有人用slu to来生成干净的网址.我不知道它是如何工作的.目前我有一个codeigniter网站,生成这样的网址
www.site.com/index.php/blog/view/7
Run Code Online (Sandbox Code Playgroud)
根据我的理解,通过维持一个slug字段,可以实现网址
www.site.com/index.php/blog/view/once-upon-a-time
Run Code Online (Sandbox Code Playgroud)
这是怎么做到的?特别是参考codeigniter?
我刚安装并开始使用Drupal 7,我按照说明打开Clean Urls.我点击了"运行清洁URL测试"按钮,但无法返回任何结果.它会加载某些内容然后刷新页面.
任何人都可以阐明为什么会发生这种情况以及我能做些什么?
我目前正在尝试使用magento生成自定义URL /路由,目前我已在本地模块中的config.xml中设置了默认路由.
<frontend>
<routers>
<portfolios>
<use>standard</use>
<args>
<module>Custom_Portfolios</module>
<frontName>portfolios</frontName>
</args>
</portfolios>
</routers>
<default>
<router>portfolios</router>
</default>
</frontend>
Run Code Online (Sandbox Code Playgroud)
这当前适用于/ portfolio/index/action/custom-string的url路径,这是magento默认路由.我想要实现的是/portfolios/custom-string.html我试图使用mod_rewrite规则但没有成功,我找到了一些关于利用我添加到的自定义后缀.html的引用相同的config.xml文件.
<default><portfolios><seo><portfolios_url_suffix>.html</portfolios_url_suffix></seo></portfolios></default>
Run Code Online (Sandbox Code Playgroud)
我查看了与路由有关的alan storm docs,发现它仅与默认路由路径相关,或者信息有点过时.
您是否知道在magento中控制路由的最佳方法可能是一个易于理解和相关的教程?如果是这样请分享:D很多
我想通过生成中提到的方法中的超链接 http://www.yiiframework.com/doc-2.0/guide-helper-html.html#hyperlinks这样
Html::a('<b>Register</b>',
['story/create', array('id' =>39,'usr'=>'11')],
['class' => 'profile-link'])
Run Code Online (Sandbox Code Playgroud)
我想得到网址 story/create/id/39/usr/11
但它正在产生
story/create?1%5Bid%5D=39&1%5Busr%5D=1
Run Code Online (Sandbox Code Playgroud)
我启用了yii2的干净网址功能
'urlManager' => [
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
], also.
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?
简而言之,为什么要使用类似http://stackoverflow.com/badges/6/supporter
的东西而不是"更简单"(主观地,那样)的东西http://stackoverflow.com/badges/6/
.
即使在我自己的网站上,我也一直在使用/ post/6 /来引用帖子(通过ID,即使我仍然存储了一个slug.)而不是/post/6/small-rant-on-urls
,在某些情况下,他们可能会变得更加荒谬,更多比真的有必要.
我有以下网址..
http://localhost/ci/site_controller/home
Run Code Online (Sandbox Code Playgroud)
我想从url中删除site_controller
控制器导致..
http://localhost/ci/home
Run Code Online (Sandbox Code Playgroud)
我怎么能在CodeIgniter中做到这一点?
注意:如果你因为我不知道如何使用mod_rewrite,你会问我尝试了什么,而不是我刚刚搜索谷歌.
编辑
我在我的routes.php中有这个
$route['default_controller'] = "site_controller/home";
$route['ci/home'] = 'ci/site_controller/home';
$route['404_override'] = '';
Run Code Online (Sandbox Code Playgroud)
但还是不行!
的.htaccess
RewriteEngine On
RewriteBase /ci/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
ErrorDocument 404 /index.php
Run Code Online (Sandbox Code Playgroud) clean-urls ×10
php ×4
codeigniter ×2
url ×2
yii2 ×2
asp.net ×1
drupal-7 ×1
magento ×1
mod-rewrite ×1
preg-replace ×1
rest ×1
slug ×1
versioning ×1
viewstate ×1